package fivestar.ui.main;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.JDialog;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import org.pushingpixels.flamingo.api.ribbon.JRibbonFrame;

import fivestar.ui.user.Login;
 
public class Main {
 
    public static void main(String[] args) {

        SplashScreen splash = new SplashScreen(null, false);
        splash.setVisible(true);
        try {
            Thread.sleep(1500);
        } catch (InterruptedException ex) {
            Logger.getLogger(SplashScreen.class.getName()).log(Level.SEVERE, null, ex);
        }
        splash.setVisible(false);
        splash = null;

        SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                try {
                    JRibbonFrame.setDefaultLookAndFeelDecorated(true);
                    JDialog.setDefaultLookAndFeelDecorated(true);
                    //UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
                    //UIManager.setLookAndFeel(new SubstanceCremeLookAndFeel());
                    ReaderProperties lector = null;
                    try {
                        lector = new ReaderProperties();
                    } catch (IOException ex) {
                        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                    }
                       UIManager.setLookAndFeel(lector.getSkin());
                       // UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
                        //UIManager.setLookAndFeel(new SubstanceBusinessBlackSteelLookAndFeel());
                        //UIManager.setLookAndFeel(new SubstanceCremeCoffeeLookAndFeel());
                        //UIManager.setLookAndFeel(new SubstanceOfficeSilver2007LookAndFeel());
                        //UIManager.setLookAndFeel(new SubstanceMistAquaLookAndFeel());
                        //UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
                } catch (Exception unsupportedLookAndFeelException) {
                    //System.out.println(unsupportedLookAndFeelException.getMessage());
                }
                Login logueo = new Login(null, true);
                logueo.setVisible(true);
               boolean v = true;
                if (v) {

//                    // Setear la información del usuario
//                    Usuario usuario = logueo.getUsuario();
//                    InformacionUsuario.userName = usuario.getUsername();
//                    InformacionUsuario.idUsuario = String.valueOf(usuario.getPersona().getCodigo());
//                    InformacionUsuario.rol = logueo.getUsuario().getRol();
//                    InformacionUsuario.autenticado = true;
//                    AdministradorUsuarios adminUsuarios = new AdministradorUsuarios();
//                    try {
//                        Sede sede = adminUsuarios.getSedeUsuario(logueo.getUsuario().getUsername());
//                        Persona persona = new Persona();
//                        persona = adminUsuarios.buscarUsuarioRol("Administrador General", sede.getCodigo());
//                        if (persona != null) InformacionUsuario.nombresAdministradorGeneral = (persona.getNombre()+" "+persona.getApellido());
//                        persona = adminUsuarios.buscarUsuarioRol("Administrador Local", sede.getCodigo());
//                        if (persona != null) InformacionUsuario.nombresAdministradorLocal = (persona.getNombre()+" "+persona.getApellido());
//                        persona = adminUsuarios.buscarUsuarioRol("Contador", sede.getCodigo());
//                        if (persona != null) InformacionUsuario.nombresContador = (persona.getNombre()+" "+persona.getApellido());
//                        InformacionUsuario.sedeCodigo = String.valueOf(sede.getCodigo());
//                        InformacionUsuario.sedeNombre = String.valueOf(sede.getNombre());
//                        InformacionUsuario.hostname = adminUsuarios.getParametrosSede().getDireccionservidorbd();
//                        InformacionUsuario.base = adminUsuarios.getParametrosSede().getNombrebd();
//                        InformacionPresupuesto.presupuestoActivo = String.valueOf(adminUsuarios.getSedeUsuario(logueo.getUsuario().getUsername()).getPresupuestoactivo());
//                        InformacionPresupuesto.presupuestoEditable = String.valueOf(adminUsuarios.getSedeUsuario(logueo.getUsuario().getUsername()).getPresupuestoeditable());
//
//                        AdministradorConfiguracion adminConfig = new AdministradorConfiguracion();
//                        InformacionContabilidad.CuentaIngresoCodigo = adminConfig.buscarCuentasDobleAsiento("CUENTA_INGRESO");
//                        InformacionContabilidad.CuentaDescargaCodigo = adminConfig.buscarCuentasDobleAsiento("CUENTA_DESCARGA");
//
//                        AdministradorPeriodo adminPerdiodo = new AdministradorPeriodo();
//                        Periodo periodo = adminPerdiodo.buscarUltimoPeriodo();
//                        if(periodo!=null)
//                        {
//                            InformacionGeneral.CodigoPeriodo = String.valueOf(periodo.getCodigo());
//                            InformacionGeneral.FechaInicioPeriodo = periodo.getFechaInicio().toString();
//                            InformacionGeneral.FechaFinPeriodo = periodo.getFechaFin().toString();
//                        }
//                    } catch (Exception ex) {
//                        //todo: Capturar la respectiva excepcion
//                    }
                    new MainMenu().setVisible(true);
                }
            }
        });
    }
}
